import { ElMessage, ElMessageBox } from 'element-plus'
// import { i18n } from '../i18n';

// const { t } = i18n.global;

interface MessageImplements {
  info(title: string): void
  wraning(title: string): void
  success(title: string): void
  error(title: string): void
}

export function useMessage() {
  class MessageClass implements MessageImplements {
    // 普通提示
    info(title: string): void {
      ElMessage.info(title)
    }

    // 警告提示
    wraning(title: string): void {
      ElMessage.warning(title)
    }

    // 成功提示
    success(title: string): void {
      ElMessage.success(title)
    }

    // 错误提示
    error(title: string): void {
      ElMessage.error(title)
    }
  }

  return new MessageClass()
}

export function useMessageBox() {
  class MessageBoxClass implements MessageImplements {
    // 普通提示
    info(msg: string): void {
      ElMessageBox.alert(msg, '确认')
    }

    // 警告提示
    wraning(msg: string): void {
      ElMessageBox.alert(msg, '警告提示', { type: 'warning' })
    }

    // 成功提示
    success(msg: string): void {
      ElMessageBox.alert(msg, '成功提示', { type: 'success' })
    }

    // 错误提示
    error(msg: string): void {
      ElMessageBox.alert(msg, '错误提示', { type: 'error' })
    }

    // 确认窗体
    confirm(msg: string) {
      return ElMessageBox.confirm(msg, '确认窗体', {
        confirmButtonText: '确认',
        cancelButtonText: '取消',
        type: 'warning'
      })
    }
    // 提交内容
    prompt(msg: string) {
      return ElMessageBox.prompt(msg, '提交内容', {
        confirmButtonText: '确认',
        cancelButtonText: '取消',
        type: 'warning'
      })
    }
  }

  return new MessageBoxClass()
}
